def add():
    # 添加通讯人
    name, tel, email, add = input('请输入您要添加的通讯人信息，以空格分开(姓名/电话/电子邮箱/地址/):\n').split()
    contacts.append({'姓名': name, '电话': tel, '电子邮箱': email, '地址': add})
    print('添加成功\n')


def index(name):
    # 索引到通讯人所在的字典
    for d in contacts:
        if d['姓名'] == name:
            return d
    else:
        print('查无此人', end=':')


def delect():
    # 删除通讯人
    name = input('请输入要删除人的姓名:')
    contacts.remove(index(name))
    print('删除成功\n')


def serch():
    # 查询某个人的信息
    name = input('请输入需要查询的人的姓名:')
    print(index(name))


def outputall():
    # 输出所有人的信息
    for d in contacts:
        print(d)


try:
    contacts = []
    while 1:
        cmd = input('1:查询联系人\n2:插入新的联系人\n3:删除已有联系人\n4:输出所有人信息\n5:退出\n请输入您所需要的功能:')
        if cmd == '1':
            serch()
        elif cmd == '2':
            add()
        elif cmd == '3':
            delect()
        elif cmd == '4':
            outputall()
        elif cmd == '5':
            break
        else:
            print('输入错误\n')
except KeyboardInterrupt:
    print("\n用户未输入,bye!!!")
except ValueError:
    print('\n输入错误')
